常见问题解答
  1. 配置镜像拉取密钥(Secret)时,如何创建与 Secret 同名的资源?
    答:如果您配置的是私有仓库,在 ImageX Enterprise 安装包解压目录下,修改 values.yaml 文件的参数值时,还需在 Kubernetes 中对应的命名空间下创建与 Secret 同名的资源,包括 3 种情况:需在 ImageX Enterprise 所在命名空间下创建与 Secret 同名的资源;如果开启服务网格(Istio),需在 istio-system 命名空间下创建 Secret 同名资源;如果开启 metrics server 服务,需在 kube-system 命名空间下创建 Secret 同名资源。

    请在 Kubernetes Master 机器中,输入如下命令创建 Secret 同名资源:

    kubectl create secret docker-registry <image-pull-secret> --docker-server=<"172.16.17.11:5002"> --docker-username=<admin> --docker-password=<adminpassword> -n <supermap>
    注意:
    1. 输入的内容中,带有尖括号 "< >" 的需根据您的实际环境替换(替换后去掉尖括号)。
      • <image-pull-secret>为您的 Secret 名称
      • <"172.16.17.11:5002">为您的镜像仓库地址
      • <admin>为镜像仓库用户名
      • <adminpassword>为镜像仓库密码
      • <supermap>为 ImageX Enterprise 所在命名空间(在 istio-system 或 kube-system 下创建 Secret 同名资源时,<supermap>替换为“istio-system”或“kube-system”)
    2. 如果命名空间 istio-system 不存在,在 Kubernetes Master 节点机器输入“kubectl create ns istio-system”命令进行创建。
  2. Kubernetes 证书到期了,如何更新?
    答:Kubernetes 证书有效期为1年,过期后需更新证书。请参照以下步骤更新 Kubernetes 证书:
    1. 在安装 Kubernetes 的 Master 节点机器,进入 etc/kubernetes/pki 目录,创建备份目录:
      cd /etc/kubernetes/pki/
      mkdir -p ~/tmp/BACKUP_etc_kubernetes_pki/etcd/
    2. 备份原有的证书:
      mv apiserver.crt apiserver-etcd-client.key apiserver-kubelet-client.crt front-proxy-ca.crt front-proxy-client.crt front-proxy-client.key front-proxy-ca.key apiserver-kubelet-client.key apiserver.key apiserver-etcd-client.crt 
      ~/tmp/BACKUP_etc_kubernetes_pki/.
      mv etcd/healthcheck-client.* etcd/peer.* etcd/server.* ~/tmp/BACKUP_etc_kubernetes_pki/etcd/
    3. 重新生成新的证书:
      kubeadm init phase certs all
    4. 进入 etc/kubernetes 目录,创建备份配置文件目录,备份原有的配置文件:
      cd /etc/kubernetes/
      mkdir -p ~/tmp/BACKUP_etc_kubernetes
      mv admin.conf controller-manager.conf kubelet.conf scheduler.conf ~/tmp/BACKUP_etc_kubernetes/.
    5. 重新生成配置文件:
      kubeadm init phase kubeconfig all
    6. 重启 Kubernetes Master 节点
      reboot
    7. 复制并替换原来的文件:
      mkdir -p ~/tmp/BACKUP_home_.kube
      cp -r ~/.kube/* ~/tmp/BACKUP_home_.kube/.
      cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
    8. 查看更新证书后 Kubernetes 集群信息(使用 kubectl cluster-info 命令):
      kubectl cluster-info
  3. 安装部署时,执行 “./startup.sh” 命令如果出现报错:The connection to the server localhost:8080 was refused - did you specify the right host or port? Error: Kubernetes cluster unreachable,如何解决?
    答:有两种解决方案可解决上述问题,请在以下方法中任选一种:
    • 切换为 root 用户后,重新执行以下命令:
      sudo ./startup.sh
    • 增加kubectl使用权限,在服务器任一目录下,执行以下命令:
      mkdir -p $HOME/.kube
      sudo cp -i /etc/kubernetes/admin.kubeconf $HOME/.kube/config
      sudo chown userName:userName $HOME/.kube/config
      注意:

      命令中的<userName>为您的实际用户名,请替换。

  4. 对于拷贝到 NFS 挂载目录中的文件(夹),无法对其进行复制、移动、授权等操作,且无法在此文件夹下创建新文件夹,应如何解决?
    答:由于文件管理的操作权限须为“supermap:supermap”,即用户和用户组都要求为“supermap”,在对导入进 NFS 挂载目录的文件或文件夹执行移动、新建文件夹等操作之前,则需将文件或文件夹所有者的操作权限修改为“supermap:supermap”。请参考以下方法修改:
    1. 执行以下命令,查看挂载目录拷贝过来的文件(夹)操作权限(命令中的 <path> 是 NFS 的路径,请替换为实际的路径,下同):
      ```sh
      ls -l <path> 
      ```
    2. 执行以下命令,修改文件(夹)所有者的操作权限:
      ```sh
      sudo chown supermap:supermap -R <path> 
      ```
    注意:
    1. 需在 NFS 所在机器上执行该命令。
    2. 执行该命令前需要获得管理员权限。
    3. 如果该服务器的文件管理没有命名为“supermap”的用户,需要先使用以下命令:sudo useradd supermap -p <password> -U 创建新的用户。命令中的 <password> 是新用户密码,请替换为实际密码。此命令同样需获得管理员权限。
  5. 登录时如遇窗口拦截,怎么办?

    答:点击浏览器地址栏旁拦截窗口按钮,允许显示弹出式窗口和进行重定向。

  6. 界面出现报错日志,日志位置在哪里?
    答:日志文件位于 NFS 安装机器上 /{nfs_path}/giscloudsuite-pvc-cloudsuite-logs 开头的文件夹中,根据界面上提示的报错信息,在该文件夹中找到对应日志即可。
    提示:

    {nfs_path} 为编排文件 values.yaml 中的 nfs_path 字段值。